V2EX  ›  英汉词典
Enqueued related words: Defensive Programming

Design by Contract

定义 Definition

Design by Contract(契约式设计)是一种软件设计方法:把“调用者”和“被调用者”(例如函数/方法、模块、类)之间的责任写成明确的“契约”,通常包括前置条件(调用前必须满足)、后置条件(执行后必须保证)和不变式(始终保持为真)。用于提高可靠性、可维护性,并让错误更早暴露。

发音 Pronunciation

/dɪˈzaɪn baɪ ˈkɑːntrækt/

例句 Examples

The function checks its preconditions before running.
该函数在运行前会检查它的前置条件。

By using design by contract, the team made each module’s responsibilities explicit and reduced hidden assumptions.
通过契约式设计,团队把每个模块的职责写得很明确,减少了隐含假设。

词源 Etymology

这个术语由软件工程领域推广开来,核心比喻来自现实中的“合同/契约(contract)”:双方在开始合作前先把各自义务写清楚。它在面向对象方法论中尤其常见,并与提出和系统化该思想的研究者与编程语言实践紧密相关(尤其是 Eiffel 社区)。

相关词 Related Words

文学与著作 Literary Works

  • Bertrand Meyer,《Object-Oriented Software Construction》:系统阐述并普及“Design by Contract”的经典著作。
  • Eiffel 语言相关文档与教程(如 Eiffel: The Language 等):将契约(前置/后置条件、不变式)作为语言与方法论的重要部分反复使用该术语。
  • Bertrand Meyer,《Touch of Class: Learning to Program Well with Objects and Contracts》:以教学方式讲解“对象与契约”的实践。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   668 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 21:04 · PVG 05:04 · LAX 13:04 · JFK 16:04
♥ Do have faith in what you're doing.